Transaction Repair: Full Serializability Without Locks

نویسنده

  • Todd L. Veldhuizen
چکیده

Transaction Repair is a method for lock-free, scalable transaction processing that achieves full serializability. It demonstrates parallel speedup even in inimical scenarios where all pairs of transactions have significant read-write conflicts. In the transaction repair approach, each transaction runs in complete isolation in a branch of the database; when conflicts occur, we detect and repair them. These repairs are performed efficiently in parallel, and the net effect is that of serial processing. Within transactions, we use no locks. This frees users from the complications and performance hazards of locks, and from the anomalies of sub-serializable isolation levels. Our approach builds on an incrementalized variant of leapfrog triejoin, an algorithm for existential queries that is worst-case optimal for full conjunctive queries, and on well-established techniques from programming languages: declarative languages, purely functional data structures, incremental computation, and fixpoint equations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Partial Strictness in Two-Phase Locking

Two-phase locking is a standard method for managing concurrent transactions in database systems. In order to guarantee good recovery properties, two-phase locking should be strict, meaning that locks can be released only after the transaction's commit or abort. In this paper we show that even exclusive locks can be released immediately after the commit request has arrived, without sacriicing an...

متن کامل

Using Transaction Semantics to Increase Performance

Serializability is the most stringent level of isolation used in transaction processing systems and has been widely accepted as the correctness criterion for concurrently executing transactions. It generally uses a strict two-phase locking protocol, in which locks are held until transactions commit. Unfortunately, this implies that locks might be held for long periods of time, causing performan...

متن کامل

Position Statement to the Panel

Today’s database systems control the execution of concurrent transactions by ensuring the serializability condition. Serializability is easy to understand and allows to reason about a transaction independently of others. The application programmer only needs to specify the statements which constitute a single transaction. However, operations at the system-internal level are synchronized differe...

متن کامل

Transactions as the Foundation of a Memory Consistency Model

We argue for transactions as the synchronization primitive of an ordering-based memory consistency model. Rather than define transactions in terms of locks, our model defines locks, conditions, and atomic/volatile variables in terms of transactions. A traditional critical section, in particular, is a region of code, bracketed by transactions, in which certain data have been privatized. Our memo...

متن کامل

WebPern: An Extensible Transaction Server for the World Wide Web

Concurrency control is a well-known problem in collaborative hypermedia system design and implementation. Existing systems store data and links in databases (link servers or hyperbases) that have built-in concurrency control polices such as serializability and atomicity, usually implemented using locking. Whereas it is desirable to construct collaborative hypermedia systems on top of the World ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1403.5645  شماره 

صفحات  -

تاریخ انتشار 2014